package com.carefree.system.modules.admin.entity;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.carefree.common.valid.AddGroup;
import com.carefree.common.valid.UpdateGroup;
import lombok.Data;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Null;
import java.io.Serializable;
import java.util.Date;


/**
 * 操作日志
 *
 * @author tengbin
 */
@Data
@TableName("sys_oper_log")
public class OperLogEntity implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 日志主键
     */
    @NotNull(message = "修改必须指定日志主键", groups = {UpdateGroup.class})
    @Null(message = "新增不能指定日志主键", groups = {AddGroup.class})
    @TableId
    private Long id;
    /**
     * 模块标题
     */
    private String title;
    /**
     * 业务类型（0其它 1新增 2修改 3删除）
     */
    private String businessType;
    /**
     * 方法名称
     */
    private String method;
    /**
     * 请求方式
     */
    private String requestMethod;
    /**
     * 操作类别（0其它 1后台用户 2手机端用户）
     */
    private String operatorType;
    /**
     * 操作人员
     */
    private String operName;

    /**
     * 请求URL
     */
    private String operUrl;
    /**
     * 主机地址
     */
    private String operIp;
    /**
     * 请求参数
     */
    private String operParam;
    /**
     * 返回参数
     */
    private String jsonResult;
    /**
     * 操作状态（0正常 1异常）
     */
    private Integer status;
    /**
     * 错误消息
     */
    private String errorMsg;
    /**
     * 操作时间
     */
    private Date operTime;
    /**
     * 创建时间
     */
    private Date createTime;
    /**
     * 修改时间
     */
    private Date updateTime;
    /**
     * 删除标记（0:可用 1:已删除）
     */
    @TableLogic(value = "0", delval = "1")
    private Integer isDeleted;

}
